package pos.domain;

import pos.utils.*;
import java.util.*;

public class Calle {
	
	private Integer idCalle;
	private String nombre;
	private static Expresion<String, Calle> expresion = new StringACalle();
	private List<Estacion> estaciones=new ArrayList<Estacion>();
	private List<Incidencia> incidencias = new ArrayList<Incidencia>();
	
	public List<Incidencia> getIncidencias() {
		return incidencias;
	}

	public void setIncidencias(List<Incidencia> incidencias) {
		this.incidencias = incidencias;
	}

	public Calle(String s){
		nombre = s;
	}
	
	public List<Estacion> getEstaciones() {
		return estaciones;
	}

	public void setEstaciones(List<Estacion> estaciones) {
		this.estaciones = estaciones;
	}

	public Calle() {
		super();
	}

	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}

	public int getIdCalle() {
		return idCalle;
	}
	

	public void setIdCalle(Integer idCalle) {
		this.idCalle = idCalle;
	}

	public String toString() {
		return "Calle [nombre=" + nombre + "]";
	}
	
	public static Expresion<String, Calle> getExpresion() {
		return expresion;
	}
	
	
	private static class StringACalle implements Expresion<String, Calle> {
		
		/**
		 * Constructor.
		 */
		public StringACalle() {
		}

		/**
		 * @see Function#apply(Object)
		 */
		public Calle exp(String s) {
			return new Calle(s);
		}
	}
}
